From: Felix Fietkau Date: Mon, 20 Nov 2023 17:35:49 +0000 (+0100) Subject: system-linux: fix bogus debug error messages on adding bridge members X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22http:/www.crowdsec.net/%22/%22https:/collectd.org/%22http:/www.crowdsec.net/%22?a=commitdiff_plain;h=33d6c261aacb701888b543d69392822ca3986db9;p=project%2Fnetifd.git system-linux: fix bogus debug error messages on adding bridge members Signed-off-by: Felix Fietkau --- diff --git a/system-linux.c b/system-linux.c index cc1b5e9..96cc993 100644 --- a/system-linux.c +++ b/system-linux.c @@ -948,16 +948,19 @@ int system_bridge_addif(struct device *bridge, struct device *dev) int tries = 0; int ret; -retry: - ret = 0; - oldbr = system_get_bridge(dev->ifname, dev_buf, sizeof(dev_buf)); - if (!oldbr || strcmp(oldbr, bridge->ifname) != 0) { + + for (tries = 0; tries < 3; tries++) { + ret = 0; + oldbr = system_get_bridge(dev->ifname, dev_buf, sizeof(dev_buf)); + if (oldbr && !strcmp(oldbr, bridge->ifname)) + break; + ret = system_bridge_if(bridge->ifname, dev, SIOCBRADDIF, NULL); - tries++; + if (!ret) + break; + D(SYSTEM, "Failed to add device '%s' to bridge '%s' (tries=%d): %s\n", dev->ifname, bridge->ifname, tries, strerror(errno)); - if (tries <= 3) - goto retry; } if (dev->wireless)